package MyFunction

import (
	"fmt"
	"github.com/gin-gonic/gin"
	"net/http"
)

// 定义结构体：
type User struct { //加入标签：绑定的时候需要指定将form表单中的username绑定到Username上
	Uername string `form:"username"` //加入标签：绑定的时候需要指定将form表单中的pwd绑定到Pwd上
	Pwd     string `form:"pwd"`
}

func GetIndex(context *gin.Context) {
	context.HTML(http.StatusOK, "demo01/getIndex.html", nil)
}

func ResponseBanding(context *gin.Context) {
	//定义结构体对象：
	var user User
	//数据绑定：
	err := context.ShouldBind(&user)
	fmt.Println(user)
	if err != nil {
		context.String(http.StatusNotFound, "绑定失败")
	} else {
		context.String(http.StatusNotFound, "绑定成功")
	}

}

func ResponseBanding2(context *gin.Context) {
	//定义结构体对象：
	var user User
	//数据绑定：
	err := context.ShouldBind(&user)
	fmt.Println(user)
	if err != nil {
		context.String(http.StatusNotFound, "绑定失败")
	} else {
		context.String(http.StatusNotFound, "绑定成功")
	}

}

func GetIndex2(context *gin.Context) {
	context.HTML(http.StatusOK, "demo01/getIndex2.html", nil)

}

type user2 struct {
	Uname string `json:"uname"`
	Age   int    `json:"age"`
}

func Toajax(context *gin.Context) {
	var user1 user2

	err := context.ShouldBind(&user1)
	fmt.Println(user1)

	if err != nil {
		fmt.Println("我被调用了400")
		context.JSON(404, gin.H{
			"msg": "绑定失败",
		})

	} else {
		fmt.Println("我被调用了200")
		context.JSON(200, gin.H{
			"msg": "绑定成功",
		})

	}

}
